草庐IT

PHP readdir 和排序

全部标签

redis - 在 Redis 中,用于从排序集中检索值的命令

我尝试使用以下代码将一些样本分值对添加到redis排序集中:Stringkey="set";redis.zadd(key,5,"1034");redis.zadd(key,2,"1030");redis.zadd(key,1,"1089");并尝试使用byteArray和BitSet检索它byte[]byteArr=redis.get(key.getBytes());BitSetbitSet=fromByteArrayReverse(byteArr);System.out.println(bitset.toString()));我也试过执行System.out.println(redi

redis - 使用哈希表查找对列表进行排序

我有一个组列表,其ID存储在哈希表中,我想使用匹配的投票哈希表对其进行排序。数据的格式为:RPUSHgroupgroupARPUSHgroupgroupBRPUSHgroupgroupCHSETg:1group:groupAHSETg:2group:groupBHSETg:3group:groupCHINCRBYgroupVotesg:12HINCRBYgroupVotesg:23HINCRBYgroupVotesg:31如果我查询red:lrange('group',0,2)我会返回{'groupA','groupB','groupC'}如何按groupVotes降序排序此列表以返回

redis - 在 redis 排序集中增加分数

我想使用redis的排序集跟踪每日使用统计信息,其中分数将是时间戳,成员将是该特定统计信息的值(因为我想使用zrange来获取统计信息)所以如果我有访问keyzadd"visits","20131211",1#这会将单次访问添加到今天2013年12月11日的日期但是在其他访问中会发生什么?如何增加成员(member)的分数?我觉得可能混淆了member和score的目的 最佳答案 有ZINCRBY。文档中的示例:ZINCRBYvisits1"20131211"此外,如果该成员尚不存在,则会将其添加到您传递的分数中。ZINCRBYin

sorting - Redis:具体排序结果

我的用户表中有数据(“昵称”字段):UserNameusername2username1UserNameusername4username3我想这样排序:username1username2username3username4UserNameUserName首先有文本和数字顺序,然后只有文本。我怎样才能做到这一点?感谢您的帮助! 最佳答案 根据文档:http://redis.io/commands/SORT尝试:SORTnickname 关于sorting-Redis:具体排序结果,我们

redis - 是否有一种功能可以使 redis 中已排序集合的基数保持不变?

例如,我想要一个键(排序集)只存储200个元素。如果向集合中添加新元素(始终具有高分),则应自动删除集合中得分最低的元素,保持排序集合的基数不变。 最佳答案 不,本身没有这样的功能,但很容易实现。首先,请记住成员是独一无二的,因此可能会出现这样一种情况(除非在您的用例中情况并非如此),即添加具有新(高)分数的新成员实际上会更新现有成员的分数。因此,在每个ZADD到您的key之后,执行ZCARD,例如:c=redis.zcard('key')如果ZCARD的响应大于200,则使用差值按等级修剪排序集ZREMRANGEBYRANK:if

【数据结构】归并排序和计数排序(排序的总结)

目录一,归并排序的递归二,归并排序的非递归三,计数排序四,排序算法的综合分析一,归并排序的递归基本思想:    归并采用的是分治思想,是分治法的一个经典的运用。该算法先将原数据进行拆分,此步骤与二叉树的拆分思想一样(因此,运用递归比较简单),然后将最终拆分后的每一小部分排序,最后将已有序的子序列进行合并,得到完全有序的序列,其中关键为要使每个分割后的子序列有序,再使子序列段间有序,即合并有序序列。以上中将两个有序表合并成一个有序表称为二路归并。思想图如下(以升序为例):    上图中,先以中间数据为界,将一堆数据进行不断分解,当分解完全后,再进行合并,而在合并时其实就是边排序边合并。由于在排序

node.js - 将每个用户的时间戳存储在已排序的 Redis 集合中

我有一些代码:添加ID:redis.zadd('onlineusers',time,id,function(err,response){//TODO});保存当前时间戳用户及其ID的正确方法是什么?通过KEY删除ID:db.zrem('onlineusers',data.id);此外,如何从按键排序的集合中获取多个值:1,2,3 最佳答案 IsacorrectwaytosavecurrenttimestampuserwithhimID?是的您可以使用multi获取多个值的分数。functiongetScores(setKey,val

归并排序(递归)——C语言实现

🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥文章目录✈️一、归并排序定义🚢二、图解归并过程🛸三、动图展示🚀四、分治递归🛰️五、归并排序代码🛥️六、归并排序的特性总结✈️一、归并排序定义🌈💨归并排序:是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。🚢二、图解归并过程🌴归并的思想就是,对于左右子区间都有序的序列,我们可以借助一个临时数组进行归并。定义两个指针begin1和beg

拓扑排序详解(包含算法原理图解、算法实现过程详解、算法例题变式全面讲解等)

前置知识有向无环图在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。如图所示。入度对于一个有向图,若x点指向y点,则称x点为y点的入度。出度对于一个有向图,若x点指向y点,则称y点为x点的出度。队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。我们可以用双指针标记一下,通过front指针与rear指针,对队头和队尾进行标记,然后只允许在front、rear指针的位置进行增删改查,

Redis:多个排序集中的成员的分页有序 zrank 获取

Redis新手。需要一些帮助。用例:我有成千上万的排行榜。他们的用户名中有适当的分数。一个用户可以属于1个或多个排行榜。我需要一种有效的方法来获取特定用户所属的每个排行榜的排名,最好按排名和分页排序。典型的用户将属于数百个排行榜。据我所知:我为每个用户保留了一组,其中包含他所属的板。为了获得用户的排名,我得到了他的一组板,然后对组中的每个板进行zrank,然后在我的代码中按排名排序。这看起来效率很低,而且不支持分页。我一直在阅读和集思广益,但我被困住了。我需要的是这样的:user1:boards(a,c,e)board:a(user1,user23,user5)board:b(user